﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class RepresentativeData : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativeData {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativePerson @__representativePerson;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentationBasicData @__basicData;
        
        private string @__title;
        
        private bool @__isSender;
        
        private bool @__representationRight;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @__contactInformation = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation>();
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress @__address;
        
        public RepresentativeData() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RepresentativeData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativePerson @representativePerson, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentationBasicData @basicData, string @title, bool @isSender, bool @representationRight, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @contactInformation, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress @address) {
            this.@__representativePerson = @representativePerson;
            this.@__basicData = @basicData;
            this.@__title = @title;
            this.@__isSender = @isSender;
            this.@__representationRight = @representationRight;
            this.@__contactInformation = @contactInformation;
            this.@__address = @address;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public RepresentativeData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativePerson @representativePerson, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentationBasicData @basicData, bool @isSender, bool @representationRight, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress @address) {
            this.@__representativePerson = @representativePerson;
            this.@__basicData = @basicData;
            this.@__isSender = @isSender;
            this.@__representationRight = @representationRight;
            this.@__address = @address;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RepresentativeData(IRepresentativeData @representativeData) {
            this.@__representativePerson = @representativeData.RepresentativePerson;
            this.@__basicData = @representativeData.BasicData;
            this.@__title = @representativeData.Title;
            this.@__isSender = @representativeData.IsSender;
            this.@__representationRight = @representativeData.RepresentationRight;
            this.@__contactInformation = @representativeData.ContactInformation;
            this.@__address = @representativeData.Address;
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentativePerson RepresentativePerson {
            get {
                return this.@__representativePerson;
            }
            set {
                this.@__representativePerson = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IRepresentationBasicData BasicData {
            get {
                return this.@__basicData;
            }
            set {
                this.@__basicData = value;
            }
        }
        
        public virtual string Title {
            get {
                return this.@__title;
            }
            set {
                this.@__title = value;
            }
        }
        
        public virtual bool IsSender {
            get {
                return this.@__isSender;
            }
            set {
                this.@__isSender = value;
            }
        }
        
        public virtual bool RepresentationRight {
            get {
                return this.@__representationRight;
            }
            set {
                this.@__representationRight = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> ContactInformation {
            get {
                return this.@__contactInformation;
            }
            set {
                this.@__contactInformation = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress Address {
            get {
                return this.@__address;
            }
            set {
                this.@__address = value;
            }
        }
    }
}
